package com.hngates.architecture.mapper;

import com.hngates.architecture.domain.ArcLabourContract;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 劳务合同Mapper接口
 *
 * @author jwhe
 * @date 2022-07-04
 */
public interface ArcLabourContractMapper {
    /**
     * 查询劳务合同
     *
     * @param id 劳务合同主键
     * @return 劳务合同
     */
    public ArcLabourContract selectArcLabourContractById(Long id);

    /**
     * 查询劳务合同列表
     *
     * @param arcLabourContract 劳务合同
     * @return 劳务合同集合
     */
    public List<ArcLabourContract> selectArcLabourContractList(ArcLabourContract arcLabourContract);

    /**
     * 新增劳务合同
     *
     * @param arcLabourContract 劳务合同
     * @return 结果
     */
    public int insertArcLabourContract(ArcLabourContract arcLabourContract);

    /**
     * 修改劳务合同
     *
     * @param arcLabourContract 劳务合同
     * @return 结果
     */
    public int updateArcLabourContract(ArcLabourContract arcLabourContract);

    /**
     * 删除劳务合同
     *
     * @param id 劳务合同主键
     * @return 结果
     */
    public int deleteArcLabourContractById(Long id);

    /**
     * 批量删除劳务合同
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcLabourContractByIds(String[] ids);

    ArcLabourContract selectArcLabourContractByIds(@Param("projectId") Long projectId, @Param("labourCompanyId") Long labourCompanyId, @Param("labourSubCompanyId") Long labourSubCompanyId);

}
